<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui">

<ui:composition template="/templates/masterLayout.xhtml">

	<ui:define name="title">NUEVA FACTURA INTERNA</ui:define>
	<ui:define name="content">

		<p:growl id="mensaje" showDetail="true" life="7000" />

		<p:panel id="panel" header="NUEVA FACTURA INTERNA"
			style="margin-bottom:10px;height:auto;">

			<h:form id="formTotales" style="height: 0px;">

				<h:panelGrid columns="2" cellpadding="0" styleClass="totales"
					style="float: right;" rendered="#{!facturaInternaBean.bn}">

					<h:outputText styleClass="letrasGrandes" style="padding-left: 4px;"
						value="SUBTOTAL:" />
					<p:inputText readonly="true"
						value="#{facturaInternaBean.cantidadFacturaPresentar.subTotal}"
						styleClass="colorLetras txtFactura"
						style="font-size: 14px !important;	font-weight: bold;" />

					<h:outputText styleClass="letrasGrandes" style="padding-left: 4px;"
						value="DESCUENTO PRODUCTO:" />
					<p:inputText readonly="true"
						value="#{facturaInternaBean.cantidadFacturaPresentar.descuentoProducto}"
						styleClass="colorLetras txtFactura"
						style="font-size: 14px !important;	font-weight: bold;" />

					<h:outputText styleClass="letrasGrandes" style="padding-left: 4px;"
						value="DESCUENTO FACTURA INTERNA:" />
					<p:inputText
						value="#{facturaInternaBean.cantidadFacturaPresentar.descuentoEgreso}"
						styleClass="colorLetras txtFactura"
						style="font-size: 14px !important;	font-weight: bold;">
						<p:ajax event="change"
							listener="#{facturaInternaBean.cambiarDescuento}"
							update=":formTotales, :mensaje" />
					</p:inputText>

					<h:outputText styleClass="letrasGrandes" style="padding-left: 8px;"
						value="TOTAL:" />
					<p:inputText readonly="true"
						value="#{facturaInternaBean.cantidadFacturaPresentar.total}"
						styleClass="colorLetras txtFactura"
						style="font-size: 14px !important;	font-weight: bold;" />
				</h:panelGrid>

				<h:panelGrid columns="2" cellpadding="0" style="float: right;"
					rendered="#{facturaInternaBean.bn}">

					<h:outputText styleClass="letrasGrandes" value="SUB-TOTAL 12%:"
						style="padding-left: 4px;" />
					<p:inputText readonly="true"
						value="#{facturaInternaBean.cantidadFacturaPresentar.subTotalIva}"
						styleClass="colorLetras txtFactura"
						style="font-size: 14px !important;	font-weight: bold;" />

					<h:outputText styleClass="letrasGrandes" style="padding-left: 5px;"
						value="SUB-TOTAL 0%:" />
					<p:inputText readonly="true"
						value="#{facturaInternaBean.cantidadFacturaPresentar.subTotalNoIva}"
						styleClass="colorLetras txtFactura"
						style="font-size: 14px !important;	font-weight: bold;" />

					<h:outputText styleClass="letrasGrandes" style="padding-left: 4px;"
						value="DESCUENTO PRODUCTO:" />
					<p:inputText readonly="true"
						value="#{facturaInternaBean.cantidadFacturaPresentar.descuentoProducto}"
						styleClass="colorLetras txtFactura"
						style="font-size: 14px !important;	font-weight: bold;" />

					<h:outputText styleClass="letrasGrandes" style="padding-left: 4px;"
						value="DESCUENTO FACTURA INTERNA:" />
					<p:inputText
						value="#{facturaInternaBean.cantidadFacturaPresentar.descuentoEgreso}"
						styleClass="colorLetras txtFactura"
						style="font-size: 14px !important;	font-weight: bold;">
						<p:ajax event="change"
							listener="#{facturaInternaBean.cambiarDescuento}"
							update=":formTotales, :mensaje" />
					</p:inputText>

					<h:outputText styleClass="letrasGrandes" style="padding-left: 4px;"
						value="SUBTOTAL:" />
					<p:inputText readonly="true"
						value="#{facturaInternaBean.cantidadFacturaPresentar.subTotal}"
						styleClass="colorLetras txtFactura"
						style="font-size: 14px !important;	font-weight: bold;" />

					<h:outputText styleClass="letrasGrandes" style="padding-left: 3px;"
						value="BASE RETENCION:" />
					<p:inputText readonly="true"
						value="#{facturaInternaBean.cantidadFacturaPresentar.baseRetencion}"
						styleClass="colorLetras txtFactura"
						style="font-size: 14px !important;	font-weight: bold;" />

					<h:outputText styleClass="letrasGrandes" value="IVA 12%:"
						style="padding-left: 8px;" />
					<p:inputText readonly="true"
						value="#{facturaInternaBean.cantidadFacturaPresentar.iva}"
						styleClass="colorLetras txtFactura"
						style="font-size: 14px !important;	font-weight: bold;" />

					<h:outputText styleClass="letrasGrandes" style="padding-left: 8px;"
						value="TOTAL:" />
					<p:inputText readonly="true"
						value="#{facturaInternaBean.cantidadFacturaPresentar.total}"
						styleClass="colorLetras txtFactura"
						style="font-size: 14px !important;	font-weight: bold;" />
				</h:panelGrid>

			</h:form>

			<h:form id="formDocumento">
				<h:panelGrid columns="3" cellpadding="1"
					rowClasses="centrar,centrar1,centrar2,centrar3,centrar4,centrar5">

					<h:outputText value="FACTURA INTERNA Nº:" styleClass="negrita" />
					<p:inputText readonly="true"
						value="#{facturaInternaBean.egreso.codigodocumento}"
						styleClass="txtFormNuevo" />
					<p:outputLabel value="" />

					<p:outputLabel value="CLIENTE:" styleClass="negrita" />
					<p:inputText readonly="true"
						value="#{facturaInternaBean.cliente.cedula} - #{facturaInternaBean.cliente.apellido} #{facturaInternaBean.cliente.nombre}"
						style="width: 445px;" />
					<p:outputLabel value="" />

					<p:outputLabel value="LOCAL:" styleClass="negrita" />
					<p:inputText readonly="true"
						value="#{facturaInternaBean.egreso.local.nombre}"
						styleClass="comboCedula" />
					<p:outputLabel value="" />

					<h:outputText value="VENDEDOR:" styleClass="negrita" />
					<p:inputText readonly="true"
						value="#{facturaInternaBean.egreso.vendedorid.empleado.persona.apellido} #{facturaInternaBean.egreso.vendedorid.empleado.persona.nombre}" />
					<p:outputLabel value="" />

				</h:panelGrid>
				<p:commandButton value="GUARDAR"
					update="formDocumento, :formDataTable,  :formTotales, :mensaje, :datosPago"
					id="btnGuardar" icon="ui-icon-bookmark"
					actionListener="#{facturaInternaBean.insertarOrActualizar}" />

				<p:commandButton value="PAGAR"
					update="formDocumento, :formDataTable,  :formTotales, :mensaje, :datosPago"
					oncomplete="comprobarFactura(xhr, status, args);" id="btnPagar"
					icon="ui-icon-bookmark"
					actionListener="#{facturaInternaBean.comprobar}" />

				<p:commandButton value="CANCELAR" id="btnlimpiar"
					update="formDocumento, :formDataTable, :formTotales"
					icon="ui-icon-close"
					actionListener="#{facturaInternaBean.cancelarTodo}" process="@this" />

			</h:form>

			<p:dialog widgetVar="detalleEgresoDialogoEliminar" severity="alert"
				header="DEVLUCION DE PRODUCTO" showEffect="explode"
				hideEffect="explode" modal="false" resizable="false" width="300px"
				style="text-align: center;">
				<h:form id="formEliminar">
					<br />
					<p:outputLabel value="¿ ESTA SEGURO DE SACAR ESTE PRODUCTO ?" />
					<br />
					<br />
					<p:commandButton value="ACEPTAR"
						update=":formDataTable,:mensaje, :formTotales"
						icon="ui-icon-check"
						oncomplete="PF('detalleEgresoDialogoEliminar').hide()"
						actionListener="#{facturaInternaBean.eliminarDetalle}" />
					<p:commandButton value="CANCELAR" type="button"
						onclick="PF('detalleEgresoDialogoEliminar').hide()"
						icon="ui-icon-close" />
				</h:form>
			</p:dialog>

			<h:form id="formDataTable">

				<p:dataTable id="tablaDetalleEgresos" var="facturaReporte"
					value="#{facturaInternaBean.facturaReportes}" paginator="true"
					rows="10" emptyMessage="#{msg['lbl.mensajeTabla']}"
					paginatorPosition="bottom" editable="true" editMode="cell">

					<p:ajax event="cellEdit"
						listener="#{facturaInternaBean.obtenerFila}" update=":mensaje" />

					<p:column headerText="GESTIONAR"
						style="text-align:center;width: 50px;">

						<p:commandButton id="btnEliminar" update=":formEliminar"
							oncomplete="PF('detalleEgresoDialogoEliminar').show()"
							icon="#{msg['iconoEliminar']}">
							<f:setPropertyActionListener value="#{facturaReporte}"
								target="#{facturaInternaBean.facturaReporte}" />
						</p:commandButton>

					</p:column>

					<p:column headerText="IVA" style="text-align:center;width: 1px;">  
            				#{facturaReporte.iva}
        				</p:column>

					<p:column headerText="CODIGO" filterBy="#{facturaReporte.codigo}"
						style="text-align:center;width: 50px;">
							 	#{facturaReporte.codigo}
						</p:column>

					<p:column headerText="DESCRIPCION"
						filterBy="#{facturaReporte.descripcion}"
						style="text-align:center;width: 50px;">
						<p:inputText id="nombre" value="#{facturaReporte.descripcion}"
							readonly="true" />
						<p:tooltip for="nombre" value="#{facturaReporte.descripcion}" />
					</p:column>

					<p:column headerText="CANTIDAD"
						style="text-align:center;width: 50px;">
						<p:cellEditor>
							<f:facet name="output">
								<h:outputText value="#{facturaReporte.cantidad}" />
							</f:facet>
							<f:facet name="input">
								<p:inputText value="#{facturaInternaBean.cantidad}">
									<p:ajax event="change"
										listener="#{facturaInternaBean.cambiarCantidad}"
										update=":formDataTable ,:mensaje, :formTotales" />
								</p:inputText>
							</f:facet>
						</p:cellEditor>
					</p:column>

					<p:column headerText="P. UNIT."
						style="text-align:center;width: 50px;">
						<p:cellEditor>
							<f:facet name="output">
								<h:outputText value="#{facturaReporte.precioUnitVenta}" />
							</f:facet>
							<f:facet name="input">
								<p:inputText value="#{facturaInternaBean.nuevoPrecio}">
									<p:ajax event="change"
										listener="#{facturaInternaBean.cambiarPrecio}"
										update=":formDataTable ,:mensaje, :formTotales" />
								</p:inputText>
							</f:facet>
						</p:cellEditor>
					</p:column>

					<p:column headerText="DESC $">  
            				#{facturaReporte.descuentoDolares}  
        				</p:column>

					<p:column headerText="DESC %">  
            				#{facturaReporte.descuentoPorcentaje}  
        				</p:column>

					<p:column headerText="IMPORTE"
						style="text-align:center;width: 50px;">
						<p:cellEditor>
							<f:facet name="output">
								<h:outputText value="#{facturaReporte.importe}" />
							</f:facet>
							<f:facet name="input">
								<p:inputText value="#{facturaInternaBean.importe}">
									<p:ajax event="change"
										listener="#{facturaInternaBean.cambiarImporte}"
										update=":formDataTable ,:mensaje, :formTotales" />
								</p:inputText>
							</f:facet>
						</p:cellEditor>
					</p:column>

				</p:dataTable>
			</h:form>

		</p:panel>

		<p:dialog header="PAGO DE FACTURA" widgetVar="clienteDialogoPago"
			resizable="false" modal="fasle" showEffect="clip" hideEffect="fold">

			<h:form id="datosPago">
				<p:outputLabel value="TOTAL" />
				<p:inputText readonly="true"
					value="#{facturaInternaBean.cantidadFacturaPresentar.total}" />

				<p:outputLabel value="RESTANTE" />
				<p:inputText readonly="true" value="#{facturaInternaBean.restante}" />

				<p:outputLabel value="CAMBIO" />
				<p:inputText readonly="true" value="#{facturaInternaBean.cambio}" />
			</h:form>

			<h:form id="formPago">

				<p:dataTable id="tablaEntrada" var="tablaEntrada"
					value="#{facturaInternaBean.listaEntradaReporte}" paginator="true"
					rows="10" emptyMessage="No hay informacion disponible."
					paginatorPosition="bottom" editable="true" editMode="cell">

					<f:facet name="header">
						<p:commandButton update=":formNuevoEntrada"
							oncomplete="PF('nuevoEntradaDialogo').show()" id="btnNuevo"
							icon="ui-icon-plus" value="#{msg['btn.insertar']}"
							actionListener="#{facturaInternaBean.cancelarEntrada}" />
					</f:facet>

					<p:column headerText="FECHA">
						<p:outputLabel value="#{tablaEntrada.fecha}">
							<f:convertDateTime pattern="dd/MM/yyyy"
								timeZone="America/Guayaquil" />
						</p:outputLabel>
					</p:column>

					<p:column headerText="FECHA PAGO">
						<p:outputLabel value="#{tablaEntrada.fechaPago}">
							<f:convertDateTime pattern="dd/MM/yyyy"
								timeZone="America/Guayaquil" />
						</p:outputLabel>
					</p:column>

					<p:column headerText="TIPO DE PAGO">
								#{tablaEntrada.tipoPago}
							</p:column>

					<p:column headerText="PAGADO"
						style="text-align:center;width: 50px;">
						<p:selectBooleanCheckbox disabled="true"
							value="#{tablaEntrada.pagado}" />
					</p:column>

					<p:column headerText="CUOTA">
								#{tablaEntrada.cuota}
							</p:column>

					<p:columnGroup type="footer">
						<p:row>
							<p:column colspan="4" footerText="Total: "
								style="text-align:right" />

							<p:column footerText="$ #{facturaInternaBean.totalMonto}" />
						</p:row>
					</p:columnGroup>

				</p:dataTable>

			</h:form>

			<p:separator />
			<p:commandButton value="IMPRIMIR"
				update=":formDocumento,:formDataTable,:mensaje :formTotales"
				actionListener="#{facturaInternaBean.insertarOrActualizar}"
				oncomplete="PF('clienteDialogoPago').hide()" id="btnPagoAceptar"
				icon="ui-icon-disk" />

			<p:commandButton value="CANCELAR"
				oncomplete="PF('clienteDialogoPago').hide()" id="btnPagoLimpiar"
				icon="ui-icon-close"
				actionListener="#{facturaInternaBean.cancelarPago}" process="@this" />

		</p:dialog>

		<p:dialog header="AGREGAR ENTRADA" widgetVar="nuevoEntradaDialogo"
			resizable="false" modal="fasle" showEffect="clip" hideEffect="fold"
			id="dialogoNuevoEntrada">

			<h:form id="formNuevoEntrada">

				<p:focus context="formNuevoEntrada" />

				<h:panelGrid columns="2" cellpadding="5">

					<p:outputLabel value="FECHA" />
					<p:calendar value="#{facturaInternaBean.entrada.fechalimite}"
						navigator="true" required="true"
						requiredMessage="ESOJA UNA FECHA DE COMIENZO" />

					<p:outputLabel value="FECHA DE PAGO" />
					<p:calendar value="#{facturaInternaBean.entrada.fechapago}"
						navigator="true" />

					<p:outputLabel value="CUOTA" />
					<p:inputText value="#{facturaInternaBean.entrada.cuota}"
						required="true" requiredMessage="ESCRIBA EL MONTO" />

					<p:outputLabel value="TIPO DE PAGO" />
					<p:selectOneMenu styleClass="comboCedula"
						value="#{facturaInternaBean.tiposPago.tipopagoid}" filter="true"
						filterMatchMode="contains">
						<f:selectItem itemLabel="Escoja un Tipo de Pago" />
						<f:selectItems value="#{facturaInternaBean.listTiposPago}"
							var="tipoPago" itemValue="#{tipoPago.tipopagoid}"
							itemLabel="#{tipoPago.nombre}" />
					</p:selectOneMenu>

					<p:outputLabel value="BANCO" />
					<p:selectOneMenu styleClass="comboCedula"
						value="#{facturaInternaBean.pagosEntrada.banco}"
						style="top: 5px;width:129px !important" filter="true"
						filterMatchMode="contains">
						<f:selectItem itemLabel="Select One" itemValue="" />
						<f:selectItems value="#{bancoBean.listaBancos}" var="banco"
							itemValue="#{banco.bancoid}" itemLabel="#{banco.nombre}" />
					</p:selectOneMenu>

					<p:outputLabel value="FECHA GIRO" />
					<p:calendar value="#{facturaInternaBean.pagosEntrada.fechagiro}"
						navigator="true" />

					<p:outputLabel value="FECHA DE COBRO" />
					<p:calendar value="#{facturaInternaBean.pagosEntrada.fechacheque}"
						navigator="true" />

					<p:outputLabel value="# CUENTA/TARJETA" />
					<p:inputText
						value="#{facturaInternaBean.pagosEntrada.cuentatarjeta}" />

					<p:outputLabel value="# CHEQUE/VAUCHER" />
					<p:inputText
						value="#{facturaInternaBean.pagosEntrada.chequevaucher}" />

					<f:facet name="footer">
						<p:commandButton value="GUARDAR" icon="ui-icon-disk"
							update=":formPago:tablaEntrada, :datosPago, formNuevoEntrada"
							actionListener="#{facturaInternaBean.calcularEntrada}"
							oncomplete="PF('nuevoEntradaDialogo').hide()" />
						<p:commandButton value="CANCELAR" icon="ui-icon-close"
							oncomplete="PF('nuevoEntradaDialogo').hide()" process="@this"
							actionListener="#{facturaInternaBean.cancelarEntrada}" />
					</f:facet>
				</h:panelGrid>

			</h:form>
		</p:dialog>

		<script type="text/javascript">
			//<![CDATA[
			function comprobar(xhr, status, args) {
				if (!args.validationFailed && args.error) {
					PF('clienteDialogoNuevo').hide();
				}
			}
			function comprobarAutorizacion(xhr, status, args) {
				if (args.error) {
					PF('detalleEgresoDialogoEliminar').show()
				}
			}
			//]]>

			function handleSubmitRequest(args) {
				if (!args.validationFailed) {
					PF('productoDialogoNuevo').hide();
				}
			}
		</script>

		<p:ajaxStatus onstart="PF('statusDialog').show()"
			onsuccess="PF('statusDialog').hide()" />

		<p:dialog widgetVar="statusDialog" modal="true" draggable="false"
			closable="false" resizable="false" showHeader="false">
			<p:graphicImage value="../../../resources/images/ajaxloadingbar.gif" />
		</p:dialog>

	</ui:define>

</ui:composition>
</html>